package com.gdust.hzx.manager.controller;

import com.gdust.hzx.manager.service.ProductUnitService;
import com.gdust.hzx.model.entity.base.ProductUnit;
import com.gdust.hzx.model.vo.common.Result;
import com.gdust.hzx.model.vo.common.ResultCodeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * ClassName: ProductUnitController
 * Package: com.gdust.spzx.manager.controller
 * Description:商品单元控制器
 * 该控制器用于管理商品单元的相关操作，包括获取商品单元列表等功能。
 * @Author syun
 * @Create 2024/12/22 20:49
 * @Version 1.0
 */
@RestController// @RestController: 专用于restful风格的注解 = @Controller (控制器) + @ResponseBody (方法返回值为json)
@RequestMapping("/admin/product/productUnit") // @RequestMapping：定义该控制器的基础访问路径。
public class ProductUnitController {
    //注入产品单元服务类
    @Autowired
    private ProductUnitService productUnitService;

    /**
     * 查询所有商品单元接口
     *
     * 该接口用于获取所有商品单元信息，通常用于前端下拉框加载数据。
     *
     * @return 统一返回结果对象，包含商品单元列表和操作成功的状态码
     */
    @GetMapping("/findAll")
    public Result<List<ProductUnit>> findAll(){
        //自定义方法：下拉框加载商品单元数据
        List<ProductUnit> productUnitList = productUnitService.findAll();
        // 使用统一结果封装工具类，构建返回值，包括数据和状态码
        return Result.build(productUnitList, ResultCodeEnum.SUCCESS);
    }


}
